package cn.quevo.beetl;

import cn.quevo.core.lang.NumberUtils;
import cn.quevo.core.lang.StringUtils;

/**
 * beetl扩展函数
 *
 * @author July july_sky@foxmail.com
 * @version 1.0
 * @date 2018-03-09 16:36:58
 * @Copyright ©2015-2035 湘豫(北京)科技有限公司. All Rights Reserved.
 * @return
 */
public class BeetlUtils extends org.beetl.ext.fn.StringUtil {

    public boolean isBlank(Object obj) {
        return StringUtils.isBlank(obj);
    }

    /**
     * 数字格式化
     *
     * @param obj
     * @param pattern
     * @return
     * @author July july_sky@foxmail.com
     * @date 2016年4月15日上午11:09:29
     */
    public String formatNum(Object obj, String pattern) {
        return StringUtils.formatNum(obj, pattern);
    }

    /**
     * 判断val是否包含在str中
     *
     * @param val
     * @param str
     * @param regex
     * @return
     * @author July july_sky@foxmail.com
     * @date 2018-03-09 16:49:51
     * @Copyright ©2015-2035 湘豫(北京)科技有限公司. All Rights Reserved.
     * @version 1.0
     */
    public boolean contains(String val, String str, String regex) {
        if (StringUtils.isBlank(str) || StringUtils.isBlank(regex) || StringUtils.isBlank(val)) {
            return false;
        }
        return StringUtils.contains(val, str.split(regex));
    }

    /**
     * 将阿拉伯数字转换成中文数字
     *
     * @param num
     * @return
     * @author July july_sky@foxmail.com
     * @date 2018-03-09 16:51:00
     * @Copyright ©2015-2035 湘豫(北京)科技有限公司. All Rights Reserved.
     * @version 1.0
     */
    public String convertNumber(String num) {
        return StringUtils.convertNumber(num);
    }

    /**
     * 将定义的分隔符(|、\n(换行)、#\,)转换成指定字符串
     *
     * @param str
     * @param replace
     * @return
     * @author July july_sky@foxmail.com
     * @date 2018-03-09 16:51:59
     * @Copyright ©2015-2035 湘豫(北京)科技有限公司. All Rights Reserved.
     * @version 1.0
     */
    public static String formatSplitHtml(String str, String replace) {
        return StringUtils.formatSplitHtml(str, replace);
    }

    /**
     * 按照定义的分隔符(|、\n(换行)、#\,)分割成数组
     *
     * @param str
     * @return
     * @author July july_sky@foxmail.com
     * @date 2018-03-09 16:52:25
     * @Copyright ©2015-2035 湘豫(北京)科技有限公司. All Rights Reserved.
     * @version 1.0
     */
    public static String[] getSplitHtml(String str) {
        return StringUtils.getSplitHtml(str);
    }

    @Override
    public String[] split(String str, String key) {
        return StringUtils.split(str, key);
    }

    /**
     * 四舍五入保保留N位小数
     *
     * @param val
     * @param precision
     * @return
     * @author July july_sky@foxmail.com
     * @date 2018-03-09 16:59:00
     * @Copyright ©2015-2035 湘豫(北京)科技有限公司. All Rights Reserved.
     * @version 1.0
     */
    public double round(Double val, int precision) {
        return NumberUtils.round(val, precision);
    }

    /**
     * 求和
     *
     * @param args
     * @return
     * @author July july_sky@foxmail.com
     * @date 2018-03-09 17:05:45
     * @Copyright ©2015-2035 湘豫(北京)科技有限公司. All Rights Reserved.
     * @version 1.0
     */
    public Double sum(Object[] args) {
        return NumberUtils.sum(args);
    }

    /**
     * 获取缩略图文件路径
     *
     * @param img
     * @param name
     * @return
     * @author July july_sky@foxmail.com
     * @date 2018-03-09 17:07:26
     * @Copyright ©2015-2035 湘豫(北京)科技有限公司. All Rights Reserved.
     * @version 1.0
     */
    public String getImgThum(String img, String name) {
        return StringUtils.getImgThum(img, name);
    }
}
